<h3>Other help topics</h3>
 &bull; External link: <a target="_blank" href="http://gocoin.pl/">Gocoin Homepage with User manual</a><br>
<br>
<hr>
<a href="/"><h2>Home</h2></a>

The home page of Gocoin's WebUI consists fo the following parts.

<h3>WebUI Settings</h3>

<span class="but"><img valign="bottom" src="webui/backup.png"> Export</span> (backup) current
setting of the web interface to a JSON file.<br>
<span class="but"><img valign="bottom" src="webui/restore.png"> Import</span> (restore)
the settings from a previously created JSON file.<br>
The settings include content of all the wallets from <a href="/wal">Wallet</a> page
and the address book from <a href="/snd">MakeTx</a> page.<br>

<h3>Edit configuration</h3>
Use it to edit config file. The file is in JSON format.
See some help about its content <a href="https://gocoin.pl/gocoin_manual_config.html" target="_blank">here</a>.
<br>
Change the values you need an press either <span class="but">Apply</span> or <span class="but">Apply & Save</span>.<br>
If you do not save, the changes will not be permanent and will get undone at the next shut down of the node.<br>
To cancel editing, press the <span class="but">Cancel</span> button reload the page.<br>

<h3>Save configuration</h3>
Whenever you have made any changes to a running node and you want to apply them permanently, use this button.

<h3>Shutdown Node</h3>
Use this button and confirm to shut down the node.<br>
<span class="note">Note that you will not be able to re-launch it from the web interface as it will shut down as well.</span>

<h3>Public Authorization Key</h3>
Place this value in <code>friends.txt</code> file of another gocoin node, to make it a trusted node.
Trusted nodes will respond to <b>getmp</b> command of this node.
They will also assume all transactions and blocks sent by this node as valid (won't be verifying them).

<hr>
<a name="wal" href="/wal"><h2>Wallet</h2></a>
Edit <b>Your wallets</b> and quickly switch between them.<br>
<span class="note">Note that the wallets' data is only stored inside your browser.</span>

<h3>Current wallet</h3>
Check balance of each deposit address of you currently selected wallet.<br>
Click on <img src="webui/qrcode.png"> icon to see the QR code for the corresponding deposit address.<br>
Download <a>balance.zip</a> file of a curently selected wallet (to use it with gocoin's <b>wallet</b> tool)<br>

<h3>Segwit Deposit Address</h3>
These addresses are automatically generated from the corresponding deposit addresses of the original wallet.<br>
You can have them in a backward compatible P2SH format or a new bech32 format. Click on the checkbox to change the format.<br>
Deposit bitcoins to either of these addresses and still be able to spend it with gocoin's <b>wallet</b> while having to pay a lower transaction fees<br>

<h3>Show unconfirmed</h3>
Select this checkbox to also see the current wallet's transactions that are in memory pool (not yet confirmed).

<h3>Turn wallet functionality on/off</h3>
Disable wallet functionality to save memory and speed up block chain processing.<br>
Switching wallet functionality on and off does not require restart, but might take awhile.
<hr>
<a name="snd" href="/snd"><h2>MakeTx</h2></a>

Create a transaction to be signed by gocoin's <b>wallet</b>.

<h3>Select Inputs</h3>
First go to the bottom of the form and select unspent coins from your current wallet that you want to spend.<br>
Together they must carry enough BTC to satisfy your total output volume and the fee.<br>

<h3>Payment details</h3>
Fill in the outputs (address - BTC value) of the transaction, choose <b>Transaction fee</b> and <b>Change</b> address.<br>
If change addres you want to use is not on the list, you have to add it to the currently selected wallet on <a href="/wal">Wallet</a> page.<br>
If you need more outputs, press the <a>+ add output</a> link.<br>
<br>
<span class="note">Note that the estimated transaction size may not be accurate.
It assumes compressed public keys and 2-of-3 multisig for P2SH addresses.</span>

<h3>Download payment.zip</h3>
Press this button to download <b>payment.zip</b><br>
Move this file to PC with the <b>wallet</b> tool and extract it there.

<h3>At the wallet machine</h3>
Execute the payment command (by default it will be in file <span class="cod">pay_cmd.txt</span>)<br>
The <b>wallet</b> tool shall then create and sign transaction, just as you have defined it here.<br>

<hr>
<a name="net" href="/net"><h2>Network</h2></a>

The current network connections to other bitcoin peers.

<h3>Incoming connections</h3>
Click <b>Listening for incoming TCP connections</b> [<a>Switch ON/OFF</a>]
to switch between allowing (or blocking) TCP connections from other bitcoin nodes.<br>
<br>
<span class="note small">Note that having this switched on does not automatically mean that external peers will be able to connect to your node.<br>
Configure your network to allow incoming connections at the desired TCP port and route them to the host running the node.<br>
Be aware that Bitcoin Core based nodes will not connect to your node on any port other then the default one (8333).</span><br>
<br>
<span class="note">To make changes permanent, <b>Save configuration</b> at <a href="/">Home</a> page.</span><br>

<h3>Drop a connection</h3>
Click on <img src="webui/del.png"> icon at the right column of a row describing  a peer connection to disconnect from it.


<hr>
<a name="txs" href="/txs"><h2>Transactions</h2></a>

Transactions memory pool control and monitoring.<br>
<br>
Broadcasting of own transactions.
<!--
<h3>Memory pool</h3>
If the memory pool is disabled the node only operates on the full blocks and never downloads any transactions.<br>
<br>
To enable/disable memory pool click the [<a>Switch ON/OFF</a>] link next to the "Memory pool" label.<br>
<br>
<span class="note">Note that you need to save configuration at the <a href="/">Home</a> page to make the change permanent.</span><br>

<h3>Relay transactions</h3>
Having the memory pool enabled, you can setup your node to either relay incoming transactions, or not.<br>
<br>
Press the [<a>Switch ON/OFF</a>] link right from the label to switch this option on/off.<br>
<br>
<span class="note">Note that you need to save configuration at the <a href="/">Home</a> page to make the change permanent.</span><br>

<h3>Accepted transactions</h3>
The value on the button shows how many transactions are there in the memory pool - click on it to see the list.<br>
Your own transaction (loaded locally) always appear on the top of the list.<br>
The <b>Sent</b> column in the table says to how many times the transaction's data was sent to a peer and (after slash) how many times the inv was sent out.<br>
If the transaction was blocked from being relayed (assuming that the relaying was enabled), the <b>Extras</b> column will show the reason.

<h3>Own transactions</h3>
Locally loaded transactions appear on a light-red background and they have three special icons at the right side of the row.<br>
 &bull; Clicking on <img src="webui/send_once.png"> - orders the node to broadcast a transaction to one random peer (useful for privacy purposes)<br>
 &bull; Clicking on <img src="webui/send.png"> - broadcasts the transaction to all the currently connected peers.<br>
 &bull; Clicking on <img src="webui/del.png"> - removes (unloads) the transaction from the memory pool.<br>


<h3>UTXOs spent in memory</h3>
The number shows how many inputs are currently considered <i>spent</i> by the transactions that have been accepted into the memory pool.
When an input is on this list any new transaction that tries to re-use it will be rejected as a <i>double-spend</i>.

<h3>Rejected transactions</h3>
The value of the button next to the label shows you how many transactions were not accepted into the memory pool.
You will see their list when clicking the button, along with the reason of the rejection.
The node maintains this list to avoid downloading transactions that it had already rejected once.
Transactions are removed from this list either when they get mined into a block or when the node decides to expire them.

<h3>Transactions waiting for inputs</h3>
Here you can check transactions that are waiting for inputs, assuming that you allowed such transaction into memory pool,
which is controlled by configuration parameter <span class="mono">TXPool.AllowMemInputs</span>.

<h3>Transactions being processed</h3>
Number of transaction in the network queue.
These are transactions that are already received from the network (via <b>tx</b> command), but have not been yet processed by the memory pool handler.
In most cases both the number should be equal.
-->
<hr>
<a name="blocks" href="/blocks"><h2>Blocks</h2></a>

Information about the recent blocks added to the block chain.<br>
<br>

<hr>
<a name="miners" href="/miners"><h2>Miners</h2></a>

Information about the recent block chain mining statistic.<br>
<br>

<hr>
<a name="pushtc" href="javascript:pushtx()"><h2>PushTx</h2></a>

Import own transaction into the node's memory pool.<br>
The transaction must be in a hex-encoded raw format, with no spaces nor any other characters except hex digits.<br>
<br>
If the operation succeeds you will end up in <a href="txs">Transactions</a> page that will decode and display the details fo your transaction.<br>
Here you should broadcast the transaciton, in order for the bitcoin network to see it.</span>

<hr>
<a name="counts" href="/counts"><h2>Counters</h2></a>

The node's internal real time counters and statistics.